草庐IT

c++ - 二项分布的随机数

全部标签

c - 在 Win 10 而非 Win 7 中卸载 DLL 时调试崩溃

不完全确定我是否已经解决了这个问题,但这是我所看到的以及我认为正在发生的事情。我有一个主要用C编写的Win32程序,它加载一个C++DLL。该DLL通过COM对象将数据从C程序传递到另一个应用程序——一个可能由DLL本身实例化的对象。所有这一切显然至少在WindowsXP和Windows7中运行良好(可能是Win95和Win98,我需要更深入地回顾代码历史以找出引入此接口(interface)的时间),但在Windows10中程序崩溃在FreeLibrary()调用此DLL期间。在调试器中检查时,DLL_DETACH_PROCESS似乎已成功处理(处理该消息时未执行任何代码)。崩溃发生

c - 迭代 PEB DllName 仅显示 exe 名称

我正在尝试获取我的应用程序中已加载模块的列表(与安全/shellcode有关,因此请避免调用WINAPI)。我正在遍历PEB->Ldr模块双向链表,但每次打印DLL的名称时,它只是打印当前正在执行的应用程序的名称和路径。在其他人的代码中,我看到他们只是将当前的LIST_ENTRY指针设为PLDR_DATA_TABLE_ENTRY,您可以直接调用FullDllName那样。但是,例如,要实际获取基址,您需要调用Reserved2[0]而不是DllBase,这是可以理解的,因为LIST_ENTRY是结构中的8个字节,但它没有解释为什么可以直接调用FullDllName。Here'sanex

c++ - KMDF 的多线程 DeviceIOControl

在回答我的问题之前,我将回顾一下我目前正在使用的东西,以便您对我已经做过/尝试过的事情有一个很好的了解。我有一个多线程用户模式​​Windows桌面应用程序,它向KMDF驱动程序发出DeviceIOControl调用(纯软件,无硬件)。有5个单独的线程,它们都不断地对驱动程序进行相同的自定义IOCTL调用。此请求包括:PsLookupProcessByProcessId以获取要从中读取内存的进程。MmCopyVirtualMemory将请求的内存复制到提供的缓冲区中。ObDereferenceObject减少引用计数。驱动程序目前正在连续执行此操作,而我的用户模式应用程序中的主要瓶颈是

c - IUP - Windows SDK 静态链接

我想用C编写一个多平台的本地桌面应用程序。经过一番搜索,我找到了IUP完美契合。不幸的是,我正在努力链接WindowsSDK。现在,我只想为Windows8.1静态编译x64版本。当我编译thisCode::Blocks中的示例,我收到以下错误:g++.exe-LC:\MinGW\iup-o"bin-debug\EVEEditor.exe"obj-debug\main.o-lgdi32-luser32-lkernel32-lcomctl32-lole32-lfreetype6-liup-liup_mglplot-liup_plot-liup_scintilla-liupcd-liupc

CTR-AES256 加密与 OpenSSL -aes-256-ctr 不匹配

我的问题是我无法从下面的C代码中获取AES256CTR输出以匹配下面OpenSSL命令的输出。C代码产生这个:5fb718d128627f5035bae967a717ab22f9e409ce23267b938202d387eb0126ac962c018cc8aff3dea4187f2946002e00OpenSSL命令行产生这个:5fb718d128627f5035bae967a717ab223c0111bd391474763157a653f90009b46fa949bc6d0077242defb9c4注意前16个字节是相同的,因为nonceIV是相同的,但是,当nonceIV在下一次

在 cygwin/mingw 上为 windows 编译

因此,我正在尝试为cygwin中的cairo图形库编译一个简单的C示例。为cygwin编译时,一切都按预期工作,但对于windows它编译,但在尝试执行时不起作用。这是我的生成文件:CFLAGS=-lcairo#WIN32HEADERS=/usr/i686-w64-mingw32/sys-root/mingw/include/cairoWIN32HEADERS=/usr/i686-w64-mingw32/sys-root/mingw/include/cairo-I/usr/i686-w64-mingw32/sys-root/mingw/include/glib-2.0-I/usr/i6

c - FindWindow() 偶尔失败(尝试 IPC)

我在stackoverflow上的第一篇文章。我不是一个编码员,我有时会为了好玩而涉足编码,因此我不会花太多时间来理解基础知识,而是找到任何可行的解决方案,即使它有点“丑陋”.这让我想到了我的问题:我用C编写了一个简单的winapi程序,带有一个对话框和一个DlgProc。它接受文件并对它们做一些事情,比方说,为了简化,它所做的只是创建一个扩展名为*.BAK的文件副本。我已经在注册表(HKEY_CLASSES_ROOT*\shell\BKUP\command)中添加了一个键,这样我就可以在Windows资源管理器中选择几个文件,并可以选择“创建备份”来将它们的所有名称发送到我的程序,但

C - 省略了参数名称?

因此在类作业中取得进步,学习C我已决定根据我的类作业摘要逐步添加函数,如下所示,以尝试逐段排除代码故障:StructureChartFunctionsBrief我被告知要遵循的伪代码:use#defineSIZE3function:main-----------------------Localvariables:-emp_array(anarrayof3employeedetailvalues)-i(anintegerusedastheindexforthearrays)-charstr[20]toreadinnameofemployeeforsearch--------------

c - 在 C 中执行 shellcode (visual studio 2017

我尝试在C中执行shellcode时遇到问题(基本的reverse_tcp,指向本地地址)。我从基础开始,代码如下:#defineWIN32_LEAN_AND_MEAN#include#include#include#includeintmain(intargc,char*argv[]){unsignedcharshellcode[]=\"\xfd\xab\xd2\xa9\xb1\x29\xe0\xdd\x38\x64\x51\x24\x9d\x0f\xdf""\x8a\xc2\x01\x0d\x2e\x6c\x9b\x86\xa9\x2e\x6f\xd9\xb3\x04\x4a""\

c - 来自不同 cd 的不同可执行文件总是运行相同的代码

我刻录了25张cd-rom,其中包含一个名为“Data.exe”的c可执行文件。所有cd都具有相同的CD名称和相同的可执行文件名称,但可执行文件版本不同。这是代码:CD0system("C:\\_folder\\_folder.exe0");CD1system("C:\\_folder\\_folder.exe1");.....等等......CD24system("C:\\_folder\\_folder.exe24");“C:\_folder\_folder.exe”代码是printf(argv[1]);只是为了检查CD是否被正确刻录。(所有这一切背后的核心思想是让cd识别自己并将